package com.fastjars.framework.dao;


import com.fastjars.framework.mybatis.query.ConditionExample;
import com.fastjars.framework.pojo.BasePojo;

import java.io.Serializable;
import java.util.List;

/**
 * SchDao
 * 查询
 * @author Brant Liu <br> 邮箱：<br>lbf1988@qq.com <br>日期：<br>2018/2/12
 * @version 1.0.0
 */
public interface SchDao<T extends BasePojo> {
    /**
     * 根据主键ID获得数据库对应记录
     * @param id 根据ID查询
     * @return
     */
    T selectByPrimaryKey(Serializable id);

    /**
     * 根据条件查询记录条数
     * @param example 根据example统计数量
     * @return
     */
    int count(ConditionExample example);

    /**
     * 根据自定义ConditionExample查询
     * @param example 根据example条件查询集合
     * @return
     */
    List<T> query(ConditionExample example);
}
